#coding=utf-8
import uuid

name = 'test_name'
namespace = uuid.NAMESPACE_URL

# uuid.uuid1()　使用主机 ID、序列号和当前时间戳来生成 UUID，可保证唯一性。涉及主机网络地址，可能危及隐私。
# uuid.uuid2()　算法与uuid1相同，不同的是把时间戳的前4位置换为POSIX的UID。不过需要注意的是python中没有基于DCE的算法，所以python的uuid模块中没有uuid2这个方法。
# uuid.uuid3(namespace,name)　通过计算命名空间和名字的MD5哈希值来生成 UUID，可以保证唯一性。
# uuid.uuid4()　通过随机数来生成UUID，使用的是伪随机数，有一定的重复概率。
# uuid.uuid5(namespace,name)　通过计算命名空间和名字的SHA-1哈希值来生成UUID，算法与uuid.uuid3()相同。

print(uuid.uuid1())
print(uuid.uuid3(namespace, name))
print(uuid.uuid4())
print(uuid.uuid5(namespace, name))

x = uuid.UUID('{88888888-8888-8888-8888-888888888888}')
print(str(x))
print(x.bytes)
print(uuid.UUID(bytes=x.bytes))

x = str(x)
print(x.replace('-', ''))
print(''.join(x.split('-')))
print(uuid.UUID('{88888888-8888-8888-8888-888888888888}').hex)